package com.coolt.domain;

import java.util.Date;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

import com.google.gwt.user.client.rpc.IsSerializable;

@Entity
@Table(name = "mensagens")
public class Mensagens implements IsSerializable {

	public static final int QTDE_LISTA_MENSAGENS_NOVAS = 5;

	public static final int NAO_LIDAS = 0;
	public static final int LIDAS = 1;

	public static final int TIPO_TODAS = 0;
	public static final int TIPO_NAO_LIDAS = 1;
	public static final int TIPO_ENVIADAS = 2;
	public static final int TIPO_RECEBIDAS = 3;

	public static final int TIPO_PARA_TODOS = 1;
	public static final int TIPO_PARA_MIM = 2;
	public static final int TIPO_PARA_AMIGOS = 3;

	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	private Long cdmensagem;

	@ManyToOne(optional = false)
	@JoinColumn(name = "cdusuariosender")
	private Usuario usuariosender;

	@ManyToOne
	@JoinColumn(name = "cdusuariodestino")
	private Usuario usuariodestino;

	@ManyToOne(optional = false)
	@JoinColumn(name = "cditem")
	private Item item;

	private String dcmensagem;

	private Integer islida;

	private Date dtmensagem;

	public Long getCdmensagem() {
		return cdmensagem;
	}

	public void setCdmensagem(Long cdmensagem) {
		this.cdmensagem = cdmensagem;
	}

	public String getDcmensagem() {
		return dcmensagem;
	}

	public void setDcmensagem(String dcmensagem) {
		this.dcmensagem = dcmensagem;
	}

	public Item getItem() {
		return item;
	}

	public void setItem(Item item) {
		this.item = item;
	}

	public Usuario getUsuariodestino() {
		return usuariodestino;
	}

	public void setUsuariodestino(Usuario usuariodestino) {
		this.usuariodestino = usuariodestino;
	}

	public Usuario getUsuariosender() {
		return usuariosender;
	}

	public void setUsuariosender(Usuario usuariosender) {
		this.usuariosender = usuariosender;
	}

	public Integer getIslida() {
		return islida;
	}

	public void setIslida(Integer islida) {
		this.islida = islida;
	}

	public java.util.Date getDtmensagem() {
		return dtmensagem;
	}

	public void setDtmensagem(java.util.Date dtmensagem) {
		this.dtmensagem = dtmensagem;
	}

}
